package com.ebupt.migu.music.strategy.mapper;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.ebupt.migu.music.strategy.entity.StrategyDTO;
import com.ebupt.migu.music.strategy.entity.StrategyInfo;
import com.ebupt.migu.music.system.entity.SysUser;
import com.ebupt.migu.music.userGroup.entity.UserGroupInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Description: 分省运营策略管理数据交互接口
 *
 * @author lemon
 * @since 2022-09-14 11:20
 */
@DS("mysql_mg")
public interface ProvinceStrategyMapper {

    /**
     * 查询短信策略条数
     *
     * @param strategyDTO 查询条件
     * @return 策略数量
     */
    int queryStrategyTotal(@Param("s") StrategyDTO strategyDTO);

    /**
     * 查询短信下发状态
     *
     * @param strategyDTO 查询条件
     * @return 短信下发集
     */
    List<StrategyInfo> queryMessageIssuedStatus(@Param("s") StrategyDTO strategyDTO);

    /**
     * 通过登录手机号查询用户信息
     *
     * @param mobile 登录用户手机号
     * @return 用户信息
     */
    SysUser queryUserByMobile(@Param("m") String mobile);

    /**
     * 短信策略创建
     *
     * @param strategyInfo 策略信息
     */
    void addMessageStrategy(@Param("s") StrategyInfo strategyInfo);

    /**
     * 通过人群id查询人群
     *
     * @param groupId 人群id
     * @return 人群信息
     */
    UserGroupInfo findCrowdByGroupId(@Param("groupId") String groupId);
}
